﻿@{
    ViewBag.Title = "Index";
    ViewBag.Active = "Registro";
}
<script type="text/javascript">
    $(function () {
        function IndividuoModel(data) {
            this.NoIdentificacion = ko.observable(data.NoIdentificacion);
            this.TipoIdentificacion = ko.observable(data.TipoIdentificacion);
            this.Nombres = ko.observable(data.Nombres);
            this.PrimerApellido = ko.observable(data.PrimerApellido);
            this.SegundoApellido = ko.observable(data.SegundoApellido);
            this.Genero = ko.observable(data.Genero);
            this.GrupoSanguineo = ko.observable(data.GrupoSanguineo);
            this.CiudadNacimiento = ko.observable(data.CiudadNacimiento);
            this.FechaNacimiento = ko.observable(data.FechaNacimiento);
            this.EsFacturable = ko.observable(data.EsFacturable);
            this.EsUsuarioSistema = ko.observable(data.EsUsuarioSistema);
            this.Estado = ko.observable(data.Estado);
            this.ActionForm = ko.observable(data.ActionForm);
        }

        function individuoViewModel() {
            var self = this;
            self.Individuos = ko.observableArray([]);

            $.getJSON("/Registro/ObtenerIndividuos/", function (allData) {
                self.Individuos(allData);
            });

            self.PageSize = ko.observable(25);
            self.PageIndex = ko.observable(0);
            self.PreviousPage = function () { self.PageIndex(self.PageIndex() - 1); };
            self.NextPage = function () { self.PageIndex(self.PageIndex() + 1); };

            self.PagedRows = ko.dependentObservable(function () {
                var size = self.PageSize();
                var start = self.PageIndex() * size;
                return self.Individuos.slice(start, size + start);

            });

            self.MaxPageIndex = ko.dependentObservable(function () {
                return Math.ceil(self.Individuos().length / self.PageSize()) - 1;
            });

            self.Individuo = ko.observable(new IndividuoModel({}));

            self.SelectIndividuo = function (individuo) {

                $.getJSON("/Registro/ObtenerIndividuo/", { id: individuo.NoIdentificacion }, function (allData) {
                    self.Individuo(new IndividuoModel(allData));
//                    console.log(self.Individuo);
                });

                //                self.Individuo(new IndividuoModel(individuo));
                //                ko.mapping.fromJS(self.Individuo, allData);
                //                console.log(ko.toJSON(self.Individuo));
            };
        }
        ko.applyBindings(new individuoViewModel());


    });
</script>
<h2>
    Ultimos Registros</h2>
<div class="row">
    <div class="span4" data-bind="with:Individuo">@Html.Partial("SaveIndividuo")
    </div>
    <div class="span8">
        @Html.Partial("ObtenerIndividuos")</div>
</div>
